@extends('layouts.header')
@section('head')
    <script type="text/javascript" src="/admin/lib/datatables/1.13.7/js/jquery.dataTables.min.js"></script>
    <script type="text/javascript" src="/admin/lib/datatables/buttons/2.4.2/js/dataTables.buttons.min.js"></script>
    <script type="text/javascript" src="/admin/lib/datatables/jszip/3.10.1/jszip.min.js"></script>
    <script type="text/javascript" src="/admin/lib/datatables/buttons/2.4.2/js/buttons.html5.min.js"></script>
    <script type="text/javascript" src="/admin/lib/datatables/buttons/2.4.2/js/buttons.print.min.js"></script>
    <link rel="stylesheet" type="text/css" href="/admin/lib/datatables/1.13.7/css/jquery.dataTables.min.css">
    <link rel="stylesheet" type="text/css" href="/admin/lib/datatables/buttons/2.4.2/css/buttons.dataTables.min.css">
@endsection
@section('content')
    <nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页 <span class="c-gray en">&gt;</span> 基础信息 <span class="c-gray en">&gt;</span> 检测项目管理
        <a class="btn btn-primary radius r" style="line-height:1.6em;margin-top:3px" href="javascript:location.replace(location.href);" title="刷新"><i class="Hui-iconfont">&#xe68f;</i></a>
    </nav>
    <div class="page-container">
        <div class="cl pd-5 bg-1 bk-gray">
            <a href="javascript:;" onclick="del()" class="btn btn-danger radius">删除</a>
            <a href="javascript:;" onclick="add('添加检测项目','/{{config('constant.name_admin')}}/testItem/add','','310')" class="btn btn-primary radius"><i class="Hui-iconfont">&#xe600;</i> 添加检测项目</a>
        </div>
        <div class="mt-10">
            <table class="table table-border table-bordered table-hover table-bg table-responsive" id="datatable">
                <thead>
                    <tr class="text-c">
                        <th style="width:30px;"><input type="checkbox" id="checkAll" /></th>
                        <th style="width:30px;">ID</th>
                        <th style="width:150px;">检测项目名称</th>
                        <th style="width:100px;">试验项目对照</th>
                        <th style="width:200px;">关联标准代号</th>
                        <th style="width:400px;">工器具类型</th>
                        <th style="width:50px;">试验记录填写环境信息</th>
                        <th style="width:50px;">任务分配默认合格</th>
                        <th style="width:200px;">备注</th>
                        <th>状态</th>
                        <th>操作</th>
                    </tr>
                </thead>
            </table>
        </div>
    </div>

    <script type="text/javascript">
        var table,items=@json($items),rels=@json($rels);
        $(function(){
            $.fn.dataTable.ext.errMode = 'throw';//datatable抛异常的方式，在console中输出，默认以alert的方式弹出
            table = $('#datatable').DataTable({
                dom: 'Blfrtip',
                //order: [[ 6, 'desc' ]],//默认第几个排序 
                // ordering: false, // 是否排序
                // "stateSave": true,// 状态保存 - 再次加载页面时还原表格状态
                // "stateDuration": -1,//仅保留当前会话的数据
                // "paging":false, //禁用分页
                // serverSide: true,//服务器端处理模式——此模式下如：过滤、分页、排序的处理都放在服务器端进行。
                // responsive: true,//响应式，需要插件
                // fixedHeader: true,//表头固定，需要插件
                // autoWidth: false,
                "deferRender": true,//延迟渲染速度
                ajax: "/{{config('constant.name_admin')}}/testItem/index",
                processing : true,//加载数据时候是否显示进度条
                language: { url: '/admin/lib/datatables/dataTables_Chinese_Lang.json' },
                buttons: [{'extend':'excel','title':'检测项目'}],
                columns: [
                    { data : null, class:"text-c", render:function (data, type, row, meta) {
                        return '<input type="checkbox" value="'+row.id+'" />';
                    }, ordering:false },//
                    { data : "id", class:"text-c" },//
                    { data : "name", class:"text-c" },//
                    { data : "id_map", class:"text-c",render: function(data, type, row, meta){
                        return items[data] == undefined ? '/' : items[data];
                    } },//
                    { data : null, class:"text-c",render: function(data, type, row, meta) {
                        let rels2 = rels['standards'][row.id];
                        if (rels2 == undefined) { return ''; }
                        let str = '';
                        for(let std_num in rels2){
                            str += std_num+'，';
                        }
                        return str.trim('，');
                    } },//关联标准代号
                    { data : null, class:"text-c",render: function(data, type, row, meta) {
                        let rels2 = rels['tools'][row.id];
                        if (rels2 == undefined) { return ''; }
                        let str = '';
                        for(let tool in rels2){
                            str += tool+'，';
                        }
                        return str.trim('，');
                    } },//样品
                    { data : "env", class:"text-c",render: function(data, type, row, meta) {
                        return data == 1 ? '填写' : '不填';
                    } },//
                    { data : "pass", class:"text-c",render: function(data, type, row, meta){
                        return data == 1 ? '是' : '否';
                    } },//
                    { data : "remark", class:"text-c" },//
                    { data : "ishide", class:"text-c",render: function(data, type, row, meta) {
                             if (data === 0) {
                                return '<span class="label label-success radius" title="隐藏后业务受理时不会显示">显示</span>';
                            } else{
                                return '<span class="label label-default radius" title="隐藏后业务受理时不会显示">隐藏</span>';
                            }
                        } },//
                    { data : null, class:"text-c", searchable: false, orderable: false,render: function(data, type, row, meta) {
                           return '<a class="btn btn-success-outline radius size-MINI" href="javascript:;" onclick="edit(\'编辑\',\'/{{config('constant.name_admin')}}/testItem/edit\',' + row.id + ')" >编辑</a>' + 
                            // '<a class="ml-5 btn btn-primary-outline radius size-MINI" href="javascript:;" onclick="layer_show(\'标准别名\',\'/{{config('constant.name_admin')}}/testItem/edit?action=map_std_name&id=' + row.id + '\')" >标准别名</a>' +
                            '<a href="javascript:;" onclick="del(' + row.id + ')" class="ml-5 btn btn-danger-outline radius size-MINI" >删除</a>';
                        } },//操作 
                ],
            });

            /*  draw  在表格完成绘制后触发*/
            table.on( 'draw', function () {
                var info = table.page.info();
                //如果最后一页仅剩一条记录，而且不是在第一页
                if((info.start == info.end) && info.end > 1){
                    //跳转到上一页
                    $('#datatable_previous').click();
                }
            });
        });

        /*表格重新加载*/
        function table_reload(bool){
            //清除表头 CheckBox的对勾
            // $("#datatable").find("thead").find("input[type=checkbox]").removeAttr('checked');
            if(bool){
                //true时，跳到第一页
                table.ajax.reload(); 
            }else{
                //false时，停留在原来页
                table.ajax.reload(null, false);
            }
        }

        /*检测项目 添加*/
        function add(title,url,w,h){
            layer_show(title,url,w,h);
        }

        /*检测项目 编辑*/
        function edit(title,url,id,w,h){
            layer_show(title,url + '?id=' + id,w,h);
        }

        /*删除*/
        function del(id=0){
            if (id == 0) {
                id = getDataIds();
            }
            var index2;
        	layer.confirm('确认要删除吗？',{title:'信息',icon:3},function(index){
        		$.ajax({
        			type: 'GET',
        			url: '/{{config('constant.name_admin')}}/testItem/del' + '?id=' + id,
        			// dataType: 'json',
        			success: function(data){
                        // console.log(data);
                        if(data === '1'){
                            table_reload(0);//0停留在当前页，1回到第一页
                            layer.msg('删除成功!',{icon:1,time:2000});
                        }else if(data === '2'){
                            layer.msg('该记录已被引用，禁止删除!<br>您可以隐藏它',{ icon: 2, time:5000 });
                        }else{
                            layer.msg('删除失败!',{icon:2,time:2000});
                        }
        			},
        			error:function(data) {
                        ajax_error(data);
                    },
                    beforeSend : function () { 
                        //0.4透明度 白色遮罩
                        index2 = layer.load(2,{ shade: [0.05,'#000'] }); 
                    },
                    complete : function () { 
                        layer.close(index2); 
                    },
        		});		
        	});
        }

        /*关联xxx*/
        function rel_xxx(title,url,id,w,h,full){
            // w = $(window).width() - 50;
            layer_show(title,url + '?id=' + id,w,h,full);
        }
    </script>
@endsection